package config

import (
	"github.com/spf13/viper"
)

// CronTabObj 定时服务结构体
type CronTabObj struct {
	Name    string
	CronTab string
	Handler func() error
}

func LoadConfig(value *ConfigMap) (*viper.Viper, error) {
	v := viper.New()
	v.SetConfigName("config")
	v.AddConfigPath("./")        //读取默认配置
	v.AddConfigPath("../")       //读取默认配置
	v.AddConfigPath("./config")  //读取默认配置
	v.AddConfigPath("../config") //读取默认配置
	v.SetConfigType("yaml")      //设置文件的类型]
	// 设置默认值
	for s, a := range value.Data {
		v.SetDefault(s, a)
	}
	// 读取环境变量
	v.AutomaticEnv()
	if err := v.ReadInConfig(); err != nil {
		return nil, err
	}

	return v, nil
}
